wayland: add support for wl_pointer frame/axis_source/axis_discrete/axis_stop
authorPeter Hutterer <peter.hutterer@who-t.net>
Tue, 20 Oct 2015 03:21:54 +0000 (13:21 +1000)
committerCarlos Garnacho <carlosg@gnome.org>
Mon, 18 Jan 2016 20:36:23 +0000 (21:36 +0100)
commit3fca36169a0fd5f19b1b2099547060214f40b904
treefd8c827996e1f731ba2e7312d301c5828938595e
parentac95bac5b817f8167dd568247b478534b960ec9e
wayland: add support for wl_pointer frame/axis_source/axis_discrete/axis_stop

This adds support for the new wl_pointer events available in v5.

The wl_pointer.axis_source events can be ignored for the purposes here, the
main reason they exist is so that the combination of axis_source=finger and
axis_stop triggers kinetic scrolling. We don't need to care about the source,
axis_stop is enough for us to tell us when we're scrolling.

The wl_pointer.frame events group events together and is intended as a
mechanism to coalesce events together. This for example allows us to now
send a single GTK scroll event for a diagonal scroll. Previously, the two
wl_pointer.axis events had to be handled separately.

The wl_pointer.axis_discrete event sends mouse wheel clicks where
appropriate, and is translated into up/down/left/right scroll events.

https://bugzilla.gnome.org/show_bug.cgi?id=756729
gdk/wayland/gdkdevice-wayland.c
gdk/wayland/gdkdisplay-wayland.c
gdk/wayland/gdkdisplay-wayland.h
gdk/wayland/gdkprivate-wayland.h